home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Comm / AmiTCP30b2.lha / src / appl / napsaterm / display.h < prev    next >
Text File  |  1994-05-14  |  6KB  |  238 lines

  1. /* display.h -- defines for niftyterm display routines
  2.  *
  3.  * (C) Copyright 1988, Chris Newman
  4.  * All Rights Reserved
  5.  * Permission is granted ot copy, modify, and use this as long
  6.  * as this notice remains intact.  This is a nifty program.
  7.  *
  8.  * $Author: ppessi $ $Revision: 3.1 $ $Date: 1994/01/07 22:51:16 $
  9.  */
  10.  
  11. /* emulation types  */
  12. /* similar to ANSI -- may be software switched to VT52 */
  13. #define    EMU_VT102   0    
  14. /* may be switched by software to VT102 */
  15. #define    EMU_VT52    1    
  16. /* codes from h19 program */
  17. #define    EMU_H19        2    
  18.  
  19. /*******************************************
  20.  * Display Generic Routines:
  21.  *******************************************/
  22.  
  23. /* types for dscursormove() */
  24. #define    CURSOR_UP        1
  25. #define    CURSOR_DOWN        2
  26. #define    CURSOR_LEFT        3
  27. #define    CURSOR_RIGHT        4
  28. #define    BEGIN_LINE        5
  29. #define    END_LINE        6
  30. #define    NEXT_LINE        7
  31. #define    BOTTOM_HOME        8
  32. #define    SAVE_CURSOR        9
  33. #define    RESTORE_CURSOR        10
  34. #define    INDEX            11
  35. #define DOWN1_AND_SCROLL    12
  36. #define    REVERSE_INDEX        13
  37. #define    INSERT_LINE        14
  38. #define    DELETE_LINE        15
  39. #define    INSERT_CHAR        16
  40. #define    TAB_STOP        17
  41. void dscursormove(int move, int n); 
  42.  
  43. /* see list of functions above */
  44. void dsfunction(int what);    
  45. /* types for dsfunction */
  46. #define    ERASETO_EOL        1
  47. #define    ERASETO_EOS        2
  48. #define    ERASETO_SOL        3
  49. #define    ERASETO_SOS        4
  50. #define    ERASE_LINE        5
  51. #define    RESET_DISPLAY        6
  52. #define    SCROLL_UP        7
  53. #define    SCROLL_DOWN        8
  54. #define    ORIGIN_ON        9
  55. #define    ORIGIN_OFF        10
  56. #define    BLOCK_CURSOR        11
  57. #define    UNDERLINE_CURSOR    12
  58. #define    INVISIBLE_CURSOR    13
  59. #define VISIBLE_CURSOR        14
  60. #define    WRAP_ON            15
  61. #define    WRAP_OFF        16
  62. #define    INSERT_ON        17
  63. #define    INSERT_OFF        18
  64. #define    SET_TAB            19
  65. #define    CLEAR_TAB        20
  66. #define    CLEAR_ALL_TABS        21
  67.  
  68. /* get the current cursor position */
  69. void dsgetcursor(int * x, int * y);
  70.  
  71. /* set the current cursor position */
  72. void dscursorto(int x, int y);
  73.  
  74. /* print formatted output */
  75. void dsprintf(char *fmat, ...);
  76.  
  77. /* set the scrolling region */
  78. void dssetscroll(int top, int bot);
  79.  
  80. /* get the size of the window */
  81. void dsgetsize(int * x, int * y);
  82.  
  83. /* returns 0 if cursor on bottom line, otherwise 
  84.  * moves cursor down a line and returns new line number.
  85.  */
  86. int dscheckdown(void);
  87. /* 
  88.  * Change the style to 
  89.  */
  90. int dsstyle(int style);
  91. #define    BOLD1        1
  92. #define    BOLD0        2
  93. #define    ITALIC1        3
  94. #define    ITALIC0        4
  95. #define    UNDERLINE1    5
  96. #define    UNDERLINE0    6
  97. #define    INVERSE1    7
  98. #define    INVERSE0    8
  99. #define    HALFBRITE1    9
  100. #define    HALFBRITE0    10
  101. #define    BLINK1        11
  102. #define    BLINK0        12
  103. #define    BLANK1        13
  104. #define    BLANK0        14
  105. #define    ALTERNATE1    15
  106. #define    ALTERNATE0    16
  107. #define    DWIDTH1        17
  108. #define    DWIDTHTOP    18
  109. #define    DWIDTHBOT    19
  110. #define    DWIDTH0        20
  111. #define    STYLESOFF    255
  112. /* these are used internally to display.c */
  113. #define    SAVE_STYLE    256
  114. #define    RESTORE_STYLE    257
  115.  
  116. /* types for dsinvert() */
  117. #define    INVERT_ON        1
  118. #define    INVERT_OFF        2
  119. #define    VISUAL_BELL        3
  120.  
  121.  
  122. /*******************************************
  123.  * Display Specific Routines:
  124.  *******************************************/
  125.  
  126.  
  127. /*
  128.  * Start the display, return intuition mask
  129.  */
  130. void dsinit(void);
  131. /*
  132.  * Clean up window 
  133.  */
  134. void dsquit(void);
  135. /*
  136.  * Return intuition mask
  137.  */
  138. long dsmask(void);
  139. void dspoll(void);
  140. /*
  141.  * set window size
  142.  */
  143. void dssizewindow(int width, int height, int maxwidthp);
  144. /*
  145.  * fill display with E's for testing purposes
  146.  */
  147. void dstestscreen(void);
  148. /*
  149.  * delete n characters from under the cursor
  150.  */
  151. void dsdelete(int n);
  152. /*
  153.  * put a string to the display.
  154.  */
  155. void dsputs(char *s);
  156. /*
  157.  * high speed clear of entire screen
  158.  */
  159. void dsclearscreen(void);
  160. /*
  161.  * clear a rectangular region
  162.  */
  163. void dsclear(int x, int y, int x1, int y1);
  164. /*
  165.  * scroll a region
  166.  */
  167. void dsscroll(int y, int numlines, int amount);
  168. /*
  169.  * Invert display
  170.  */
  171. void dsinvert(int invtype);
  172. /*
  173.  * Special bells
  174.  */
  175. void displaybell(void);
  176. void audiobell(void);        
  177. /*
  178.  * Cursor on/off, and flush output
  179.  */
  180. void dscursoron(void);
  181. void dscursoroff(void);
  182. void dscursorblink(void);
  183. /*
  184.  * initialize blinking, poll blinking intervals
  185.  */
  186. void dscheckflash(void);
  187. long dsflashinit(void);
  188. /*
  189.  * set the appropriate font for given attribs & line
  190.  */
  191. void dssetfont(short style, int line);
  192. /*
  193.  * keyboard functions
  194.  */
  195. void dskeyboard(int cmd, int val);
  196.  
  197. /* commands for dskeyboard */
  198. #define DS_AUTOREPEAT        1    /* on if val is true */
  199. #define DS_LEDS            2   /* val is bit pattern */
  200. #define DS_KEYCLICK        3    /* on if val is true */
  201. #define DS_CURSORMODE        4   /* modes for the cursor keys */
  202. #define DS_KEYPADMODE        5   /* modes for the numeric keypad */
  203. #define DS_KEYPADAPPMODE    6   /* on if val is true */
  204.  
  205. /* arguments for dskeyboard cursor modes */
  206. #define CURSOR_VT100          0    /* vt100 cursor key mode */
  207. #define CURSOR_ANSI        1    /* ansi cursor key mode */
  208. #define CURSOR_VT52        2    /* vt52 cursor key mode */
  209.  
  210. /* arguments for dskeyboard keypad modes */
  211. #define KEYPAD_ANSI        0    /* ansi numeric */
  212. #define KEYPAD_VT52        2    /* vt52 numeric */
  213. #define KEYPAD_H19        4    /* h19 numeric */
  214. #define KEYPAD_H19S        6    /* h19 shifted numeric */
  215. #define KEYPAD_H19ANSI        8    /* h19 ansi numeric */
  216. #define KEYPAD_H19SANSI        10  /* h19 shifted ansi numeric */
  217.  
  218. /* Allocate display area */
  219. void allocate_display(int width, int height);
  220. void free_display(void);
  221.  
  222. /* Clear display buffer */
  223. void clear_display(void);
  224.  
  225. /* tabstops */
  226. void clear_tabstops(void);
  227. void init_tabstops(void);
  228.  
  229. /* Display reset */
  230. void reset_display(int soft);
  231.  
  232. /* Redrawing functions */
  233. void redraw_line(int line);
  234. void redraw_display(int resize);
  235.  
  236. /* Handle window size change */
  237. int resize_display(void);
  238.